Refactorings in Large Software Projects

نویسنده

  • Martin Lippert
چکیده

Customer MyCustomerFig. 6-4AbstractImplementations forInterfaces 2276.9 An Example If the API as well as the implementation of a subsystem are respectivelyorganized in packages of their own, changes to the implementationcan be easier kept separate from the API. Design Tip 6: Unambiguous Class Names Class names in a subsystem API should be unambiguous, even withoutpackage names. Otherwise, problems can arise during migration whenclasses are moved into other packages. Design Tip 7: Explicit Default Constructor Each class should have at least one explicit constructor to prevent thecompiler from generating the default constructor. Otherwise, the com-piler-generated default constructor can be deleted ‘accidentally’ whena parameterized constructor is added.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Large Refactorings in Agile Software Development

Refactoring is a key part of many agile software development methods. Where most developers associate small design changes with the term refactoring (as described by Martin Fowler or Bill Opdyke), the daily programming in mediumto large-sized projects needs more than fine-grained refactoring. More complex refactorings appear in such projects, running for more than hours or days, consisting of a...

متن کامل

Towards a Proper Integration of Large Refactorings in Agile Software Development

Refactoring is a key element of many agile software development methods. While most developers associate small design changes with the term refactoring (as described by Martin Fowler and William F. Opdyke), everyday development practice in mediumto large-sized projects calls for more than fine-grained refactorings. Such projects involve more complex refactorings, running for several hours or da...

متن کامل

Conflict-aware schedule of software refactorings

Software refactoring is to restructure the internal structure of object-oriented software to improve software quality, especially maintainability, extensibility and reusability while preserving its external behaviours. According to predefined refactoring rules, we may find many places in the software where refactorings can be applied. Applying each refactoring, we may achieve some effect (quali...

متن کامل

Personalized Multi-Objective Approach for Refactoring Recommendations

Refactoring is an extremely important solution to reduce and manage the growing complexity of software systems. However, maintaining a high-level code quality can be expensive since time and monetary pressures force developers to neglect to improve the quality of their source code. Thus, programmers are “opportunistic” when they apply refactorings since most of them are interested in improving ...

متن کامل

Search-Based Refactoring Detection Using Software Metrics Variation

Software is frequently refactored to improve its design, either as part of an agile development process or as part of a major design overhaul. In either case, it is very useful to determine what refactorings have recently taken place in order to comprehend better the software and its development trajectory. To this end, we have developed an approach to automate the detection of source code refa...

متن کامل

Discipline Matters: Refactoring of Preprocessor Directives in the #ifdef Hell

The C preprocessor is used in many C projects to support variability and portability. However, researchers and practitioners criticize the C preprocessor because of its negative effect on code understanding and maintainability and its error proneness. More importantly, the use of the preprocessor hinders the development of tool support that is standard in other languages, such as automated refa...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004